package com.xnyzc.lhy.mis.entity.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
*
* 用户信息表
*
* @author cuixiaojian
* @since 2019-10-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OaDUserInfo对象", description="用户信息表")
public class OaDUserInfo implements Serializable {

private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID(使用Snowflake生成)")
    @TableId(value="info_id", type = IdType.INPUT)
    private Long infoId;

    @ApiModelProperty(value = "用户ID")
    private Long driverId;

    @ApiModelProperty(value = "年龄")
    private Integer age;

    @ApiModelProperty(value = "民族（参加字典表）")
    private Integer nationality;

    @ApiModelProperty(value = "用户等级")
    private String driverLevel;

    @ApiModelProperty(value = "生日")
    private Date birthday;

    @ApiModelProperty(value = "常住地址")
    private String address;

    @ApiModelProperty(value = "紧急联系人")
    private String emergencyContact;

    @ApiModelProperty(value = "紧急联系人电话")
    private String emergencyMobile;

    @ApiModelProperty(value = "紧急联系人地址")
    private String emergencyAddress;

    @ApiModelProperty(value = "身份证正面图片")
    private Long identityPositiveFileId;

    @ApiModelProperty(value = "身份证反面照片")
    private Long identityOtherFileId;

    @ApiModelProperty(value = "身份证到期日期")
    private Date identityDueDate;

    @ApiModelProperty(value = "身份证号")
    private String identityNumber;

    @ApiModelProperty(value = "证件类型.1:身份证,2护照,3.其他")
    private Integer identityType;

    @ApiModelProperty(value = "户籍所在地")
    private String identityAddress;

    @ApiModelProperty(value = "驾驶证正面图片")
    private Long driveLicenseFileId;

    @ApiModelProperty(value = "驾驶证另外一面")
    private Long driveOtherLicenseFileId;

    @ApiModelProperty(value = "驾驶证编号")
    private String driveLicenseNo;

    @ApiModelProperty(value = "驾驶证起始日期")
    private Date driverStartDate;

    @ApiModelProperty(value = "证件到期时间")
    private Date driveLicenseDuedate;

    @ApiModelProperty(value = "驾照类型")
    private String driveLicenseType;

    @ApiModelProperty(value = "驾驶证发证地")
    private String driveLicenseIssueplace;

    @ApiModelProperty(value = "身份审核通过时间")
    private Date passingDate;

    @ApiModelProperty(value = "身份认证拒绝原因")
    private String identityRefuseReason;

    @ApiModelProperty(value = "驾照认证拒绝原因")
    private String idriveRefuseReason;

    @ApiModelProperty(value = "拉黑原因")
    private String blockedReason;

    @ApiModelProperty(value = "拉黑日期")
    private Date blockedDate;

    @ApiModelProperty(value = "审核类型：0，人工审核。1自动审核")
    private Integer auditType;

    @ApiModelProperty(value = "用户注册城市ID")
    private Integer registerCityId;

    @ApiModelProperty(value = "司机类型（0：个人；1：车队 2自营 3带车）")
    private Integer driverType;

    @ApiModelProperty(value = "是否同意协议（0：否、1：是）")
    private Integer agreement;

    @ApiModelProperty(value = "总服务分数")
    private Integer totalServiceScore;

    @ApiModelProperty(value = "驾龄")
    private Integer beenDriving;

    @ApiModelProperty(value = "完成订单量")
    private Integer orderQuantityCompleted;

    @ApiModelProperty(value = "用户来源")
    private String tag;

    @ApiModelProperty(value = "扩展字段1")
    private String expand1;

    @ApiModelProperty(value = "扩展字段2")
    private String expand2;

    @ApiModelProperty(value = "扩展字段3")
    private String expand3;

    @ApiModelProperty(value = "版本号")
    @Version
    private Long version;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "创建人")
    private Long createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private Long updateUser;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "是否接单 0 - 未接单 1 - 接单")
    private Integer isOrder;

    @ApiModelProperty(value = "是否开始接单 0 - 停止接单 1 - 开始接单")
    private Integer acceptancOrderStatus;

    @ApiModelProperty(value = "高德服务终端ID")
    private Long tid;

    @ApiModelProperty(value = "网约车从业资格证编号")
    private String professionalQualificationNumber;

    @ApiModelProperty(value = "网约车从业资格证正面图片")
    private Long professionalQualificationFileId;

    @ApiModelProperty(value = "车队")
    private String vehicleTeam;

    @ApiModelProperty(value = "银行卡账户名")
    private String bankAccountName;

    @ApiModelProperty(value = "银行卡账户")
    private String bankAccount;

    @ApiModelProperty(value = "银行名称")
    private String bankName;

    @ApiModelProperty(value = "开户行")
    private String openingBank;

    @ApiModelProperty(value = "支付宝账户")
    private String alipayAccount;

    @ApiModelProperty(value = "支付宝账户姓名")
    private String alipayAccountName;

    @ApiModelProperty(value = "首次登录时间")
    private Date firstLoginDate;

    @ApiModelProperty(value = "完成首单时间")
    private Date completeFirstSingleDate;

    @ApiModelProperty(value = "用户城市Code")
    private String driverCityId;

    @ApiModelProperty(value = "资格证有效期起始")
    private Date certificateValidityPeriodStartDate;

    @ApiModelProperty(value = "资格证有效期截止")
    private Date certificateValidityPeriodEndDate;

    @ApiModelProperty(value = "发证机构")
    private String licenseIssuingAgency;

    @ApiModelProperty(value = "发证日期")
    private Date releaseDate;

    @ApiModelProperty(value = "服务类型")
    private String serviceType;

    @ApiModelProperty(value = "代发户名")
    private String proxyUser;

    @ApiModelProperty(value = "代发账户")
    private String proxyAccount;

    @ApiModelProperty(value = "初次领证时间(驾驶证)")
    private Date getDriverLicenseDate;

    @ApiModelProperty(value = "是否巡游出租车驾驶员")
    private Integer taxiDriver;

    @ApiModelProperty(value = "网约车证发证机构全程")
    private String netWorkCarIssueOrGanization;

    @ApiModelProperty(value = "网约车证发证时间")
    private Date getNetWorkCarProofDate;

    @ApiModelProperty(value = "网约车证有效期开始时间")
    private Date netWorkCarProofOn;

    @ApiModelProperty(value = "网约车证有效期结束时间")
    private Date netWorkCarProofOff;

    @ApiModelProperty(value = "驾驶员信息向服务所在地主管部门报备时间")
    private Date registerDate;

    @ApiModelProperty(value = "驾驶员合同签属公司")
    private String contractCompany;

    @ApiModelProperty(value = "合同起始时间")
    private Date contractOn;

    @ApiModelProperty(value = "合同截止时间")
    private Date contractOff;

    public static final String PROXY_USER="proxy_user";

    public static final String PROXY_ACCOUNT="proxy_account";

    public static final String INFO_ID = "info_id";

    public static final String DRIVER_ID = "driver_id";

    public static final String AGE = "age";

    public static final String NATIONALITY = "nationality";

    public static final String DRIVER_LEVEL = "driver_level";

    public static final String BIRTHDAY = "birthday";

    public static final String ADDRESS = "address";

    public static final String EMERGENCY_CONTACT = "emergency_contact";

    public static final String EMERGENCY_MOBILE = "emergency_mobile";

    public static final String EMERGENCY_ADDRESS = "emergency_address";

    public static final String IDENTITY_POSITIVE_FILE_ID = "identity_positive_file_id";

    public static final String IDENTITY_OTHER_FILE_ID = "identity_other_file_id";

    public static final String IDENTITY_DUE_DATE = "identity_due_date";

    public static final String IDENTITY_NUMBER = "identity_number";

    public static final String IDENTITY_TYPE = "identity_type";

    public static final String IDENTITY_ADDRESS = "identity_address";

    public static final String DRIVE_LICENSE_FILE_ID = "drive_license_file_id";

    public static final String DRIVE_OTHER_LICENSE_FILE_ID = "drive_other_license_file_id";

    public static final String DRIVE_LICENSE_NO = "drive_license_no";

    public static final String DRIVER_START_DATE = "driver_start_date";

    public static final String DRIVE_LICENSE_DUEDATE = "drive_license_duedate";

    public static final String DRIVE_LICENSE_TYPE = "drive_license_type";

    public static final String DRIVE_LICENSE_ISSUEPLACE = "drive_license_issueplace";

    public static final String PASSING_DATE = "passing_date";

    public static final String IDENTITY_REFUSE_REASON = "identity_refuse_reason";

    public static final String IDRIVE_REFUSE_REASON = "idrive_refuse_reason";

    public static final String BLOCKED_REASON = "blocked_reason";

    public static final String BLOCKED_DATE = "blocked_date";

    public static final String AUDIT_TYPE = "audit_type";

    public static final String REGISTER_CITY_ID = "register_city_id";

    public static final String DRIVER_TYPE = "driver_type";

    public static final String AGREEMENT = "agreement";

    public static final String TOTAL_SERVICE_SCORE = "total_service_score";

    public static final String BEEN_DRIVING = "been_driving";

    public static final String ORDER_QUANTITY_COMPLETED = "order_quantity_completed";

    public static final String TAG = "tag";

    public static final String EXPAND1 = "expand1";

    public static final String EXPAND2 = "expand2";

    public static final String EXPAND3 = "expand3";

    public static final String VERSION = "version";

    public static final String DELETED = "deleted";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

    public static final String IS_ORDER = "is_order";

    public static final String ACCEPTANC_ORDER_STATUS = "acceptanc_order_status";

    public static final String TID = "tid";

    public static final String PROFESSIONAL_QUALIFICATION_NUMBER = "professional_qualification_number";

    public static final String PROFESSIONAL_QUALIFICATION_FILE_ID = "professional_qualification_file_id";

    public static final String VEHICLE_TEAM = "vehicle_team";

    public static final String BANK_ACCOUNT_NAME = "bank_account_name";

    public static final String BANK_ACCOUNT = "bank_account";

    public static final String BANK_NAME = "bank_name";

    public static final String OPENING_BANK = "opening_bank";

    public static final String ALIPAY_ACCOUNT = "alipay_account";

    public static final String ALIPAY_ACCOUNT_NAME = "alipay_account_name";

    public static final String FIRST_LOGIN_DATE = "first_login_date";

    public static final String COMPLETE_FIRST_SINGLE_DATE = "complete_first_single_date";

    public static final String DRIVER_CITY_ID = "driver_city_id";

    public static final String CERTIFICATE_VALIDITY_PERIOD_START_DATE = "certificate_validity_period_start_date";

    public static final String CERTIFICATE_VALIDITY_PERIOD_END_DATE = "certificate_validity_period_end_date";

    public static final String LICENSE_ISSUING_AGENCY = "license_issuing_agency";

    public static final String RELEASE_DATE = "release_date";

    public static final String SERVICE_TYPE = "service_type";

}
